const cron = require('node-cron');

/**
 * 启动定时任务函数
 * @param {Object} io - socket.io 实例，用于向客户端推送消息
 * @returns {void}
 */
exports.startTimeJob = (io) => {
    // 每分钟推送时间
    cron.schedule('* * * * *', () => {
        const time = new Date().toLocaleString();
        io.emit('time-update', { time });
        console.log('推送时间:', time);
    });

    // 每10秒发送系统状态: 6 个字段分别代表：秒 分 时 日 月 周几
    cron.schedule('*/10 * * * * *', () => {
        // 向所有客户端发送系统状态
        io.emit('system-stats', {
            memory: process.memoryUsage().rss / 1024 / 1024 + 'MB', // 内存使用量
            uptime: process.uptime() + 's' // 进程运行时间
        });
    });
}